#include <iostream>

// 二分法查找
int binarysearch(int a[], int n, int x)
{
    int l = 0, h = n, i = 0;
    while (l < h)
    {
        i = l + (h - l) >> 1; // 这里不使用(h+l)/2, 方式h+l值越界
        if (x < a[i])
            h = i;
        else if (x > a[i])
            l = i + 1;
        else
            return i;
    }
    return -1;
}